package com.yungu.swift.order.model.dto;

import com.yungu.swift.base.model.BaseDto;
import com.yungu.swift.base.model.annotation.AbsoluteImgPath;
import com.yungu.swift.base.model.annotation.Desensitization;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;
import java.util.List;


/**
 * 订单投诉表
 *
 * @author Zerrion
 * @date 2017/3/6
 **/
public class OrderComplainDto extends BaseDto {

    /**
     * 状态 1待处理 2处理中 3已处理
     */
    public final static int STATUS_PENDING = 1;
    public final static int STATUS_HANDLING = 2;
    public final static int STATUS_HANDLED = 3;

    /**
     * 订单uuid
     **/
    private String orderUuid;

    /**
     * 投诉者uuid
     **/
    private String complainantUuid;

    /**
     * 被投诉者uuid
     **/
    private String respondentUuid;

    /**
     * 被投诉者身份：1乘客,2司机
     **/
    private Integer respondentIdentity;

    /**
     * 投诉内容
     **/
    private String contents;

    /**
     * 备注
     **/
    private String remark;

    /**
     * 投诉图片
     */
    @AbsoluteImgPath
    private String images;
    /**
     * 是否允许听取录音（0 不允许 1 允许）
     */
    private Integer listenRecording;

    /**
     * 投诉状态 1：待处理 2：处理中 3：已处理
     **/
    private Integer status;

    /**
     * 处理结果
     **/
    private String result;

    /**
     * 处理时间
     **/
    private Date handlingOn;

    /**
     * 处理者uuid
     **/
    private String handlingBy;


    //非数据库字段
    /**
     * 被投诉人姓名
     **/
    @Desensitization(type = Desensitization.DesensitionType.NAME)
    private String respondentName;

    /**
     * 被投诉人手机号
     **/
    @Desensitization(type = Desensitization.DesensitionType.MOBILE)
    private String respondentMobile;

    /**
     * 投诉者姓名
     **/
    @Desensitization(type = Desensitization.DesensitionType.NAME)
    private String complainantName;

    /**
     * 投诉者手机号
     **/
    @Desensitization(type = Desensitization.DesensitionType.MOBILE)
    private String complainantMobile;


    @ApiModelProperty(value = "oss通话录音下载链接")
    private String ossDownloadUrl;

    /**
     * 订单编号
     **/
    private String orderNo;

    /**
     * 业务类型
     **/
    private Integer businessType;
    /**
     * 车牌号
     */
    private String plateNum;

    /**
     * 车辆级别
     */
    private String modelName;

    /**
     * 处理集合
     **/
    private List<OrderComplainReplyDto> orderComplainReplyDtoList;

    /**
     * 处理者账户
     */
    private String handlerAccount;

    public String getOrderUuid() {
        return orderUuid;
    }

    public void setOrderUuid(String orderUuid) {
        this.orderUuid = orderUuid;
    }

    public String getComplainantUuid() {
        return complainantUuid;
    }

    public void setComplainantUuid(String complainantUuid) {
        this.complainantUuid = complainantUuid;
    }

    public String getRespondentUuid() {
        return respondentUuid;
    }

    public void setRespondentUuid(String respondentUuid) {
        this.respondentUuid = respondentUuid;
    }

    public Integer getRespondentIdentity() {
        return respondentIdentity;
    }

    public void setRespondentIdentity(Integer respondentIdentity) {
        this.respondentIdentity = respondentIdentity;
    }

    public String getContents() {
        return contents;
    }

    public void setContents(String contents) {
        this.contents = contents;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getImages() {
        return images;
    }

    public void setImages(String images) {
        this.images = images;
    }

    public Integer getListenRecording() {
        return listenRecording;
    }

    public void setListenRecording(Integer listenRecording) {
        this.listenRecording = listenRecording;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getResult() {
        return result;
    }

    public void setResult(String result) {
        this.result = result;
    }

    public Date getHandlingOn() {
        return handlingOn;
    }

    public void setHandlingOn(Date handlingOn) {
        this.handlingOn = handlingOn;
    }

    public String getHandlingBy() {
        return handlingBy;
    }

    public void setHandlingBy(String handlingBy) {
        this.handlingBy = handlingBy;
    }

    public String getRespondentName() {
        return respondentName;
    }

    public void setRespondentName(String respondentName) {
        this.respondentName = respondentName;
    }

    public String getRespondentMobile() {
        return respondentMobile;
    }

    public void setRespondentMobile(String respondentMobile) {
        this.respondentMobile = respondentMobile;
    }

    public String getComplainantName() {
        return complainantName;
    }

    public void setComplainantName(String complainantName) {
        this.complainantName = complainantName;
    }

    public String getComplainantMobile() {
        return complainantMobile;
    }

    public void setComplainantMobile(String complainantMobile) {
        this.complainantMobile = complainantMobile;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public Integer getBusinessType() {
        return businessType;
    }

    public void setBusinessType(Integer businessType) {
        this.businessType = businessType;
    }

    public String getPlateNum() {
        return plateNum;
    }

    public void setPlateNum(String plateNum) {
        this.plateNum = plateNum;
    }

    public String getModelName() {
        return modelName;
    }

    public void setModelName(String modelName) {
        this.modelName = modelName;
    }

    public List<OrderComplainReplyDto> getOrderComplainReplyDtoList() {
        return orderComplainReplyDtoList;
    }

    public void setOrderComplainReplyDtoList(List<OrderComplainReplyDto> orderComplainReplyDtoList) {
        this.orderComplainReplyDtoList = orderComplainReplyDtoList;
    }

    public String getHandlerAccount() {
        return handlerAccount;
    }

    public void setHandlerAccount(String handlerAccount) {
        this.handlerAccount = handlerAccount;
    }

    public String getOssDownloadUrl() {
        return ossDownloadUrl;
    }

    public void setOssDownloadUrl(String ossDownloadUrl) {
        this.ossDownloadUrl = ossDownloadUrl;
    }
}
